package com.excilys.training.ebanking.web.java;

import org.excilys.training.ebanking.model.Compte;

public class ComptePersonnalise extends Compte {

	private double soldePrevisionnel;

	public double getSoldePrevisionnel() {
		return soldePrevisionnel;
	}

	public void setSoldePrevisionnel(double soldePrevisionnel) {
		this.soldePrevisionnel = soldePrevisionnel;
	}

	public static class Builder {

		private int id;
		private String nomCompte;
		private double soldeCourant;
		private double encour;
		private double soldePrevisionnel;

		public Builder withId(int id) {
			this.id = id;
			return this;
		}

		public Builder withNomCompte(String nomCompte) {
			this.nomCompte = nomCompte;
			return this;
		}

		public Builder withSoldeCourant(double soldeCourant) {
			this.soldeCourant = soldeCourant;
			return this;
		}

		public Builder withEncour(double encour) {
			this.encour = encour;
			return this;
		}

		public Builder withSoldePrevisionnel(double soldePrevisionnel) {
			this.soldePrevisionnel = soldePrevisionnel;
			return this;
		}

		public ComptePersonnalise build() {
			ComptePersonnalise compte = new ComptePersonnalise();
			compte.setId(id);
			compte.setEncour(encour);
			compte.setNomCompte(nomCompte);
			compte.setSoldeCourant(soldeCourant);
			compte.setSoldePrevisionnel(soldePrevisionnel);
			return compte;
		}
	}
}
